//
//  YMRefresh.h
//  JiLaiBao
//
//  Created by youmy on 15/10/27.
//  Copyright © 2015年 youmy. All rights reserved.

//  上拉下拉刷新

#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger,RefreshType){
    RefreshTypeDropDown = 0,//只支持下啦
    RefreshTypeUpDrop = 1,//只支持上啦
    RefreshTypeDouble = 2,//都支持
};
@interface YMRefresh : NSObject
/** 
 * 下拉刷新
 *  
 *  @param target ID类型
 *  @param action 方法
 */
+ (void)pullDownRefreshWithTableView:(UITableView *)tableView target:(id)target action:(SEL)action;

/**
 * 上拉刷新
 *
 *  @param target ID类型
 *  @param action 方法
 */
+ (void)pullUpRefreshWithTableView:(UITableView *)tableView target:(id)target action:(SEL)action;
//正常状态下封装
-(void)normalModelRefresh:(UITableView *)tableview refreshType:(RefreshType)refreshType firstRefresh:(BOOL)firstRefresh timeLabHidden:(BOOL)timeLabHidden stateLabHidden:(BOOL)stateLabHidden dropDownBlock:(void(^)(void))dropDownBlock upDropBlock:(void(^)(void))upDropBlock;
//gif下封装
-(void)gifModelRefresh:(UITableView *)tableView refreshType:(RefreshType)refreshType firstRefresh:(BOOL)firstRefresh timeLabHidden:(BOOL)timeLabHidden stateLabHidden:(BOOL)stateLabHidden dropDownBlock:(void(^)(void))dropDownBlock upDropBlock:(void(^)(void))upDropBlock;

//gif情况下的调用
//eg.1
//    [_ymRefresh gifModelRefresh:_tableView refreshType:RefreshTypeDropDown firstRefresh:NO timeLabHidden:YES stateLabHidden:NO dropDownBlock:^{
//        NSLog(@"gif下拉");
//        if ([weakSelf.tableView.mj_header isRefreshing]) {
//            [weakSelf.tableView.mj_header endRefreshing];
//        }
//    } upDropBlock:nil];

//eg.2
//    [_ymRefresh gifModelRefresh:_tableView refreshType:RefreshTypeUpDrop firstRefresh:NO timeLabHidden:NO stateLabHidden:NO dropDownBlock:nil upDropBlock:^{
//        NSLog(@"gif上拉");
//        if ([weakSelf.tableView.mj_footer isRefreshing]) {
//            [weakSelf.tableView.mj_footer endRefreshing];
//        }
//    }];

//eg.3
//    [_ymRefresh gifModelRefresh:_tableView refreshType:RefreshTypeDouble firstRefresh:NO timeLabHidden:YES stateLabHidden:NO dropDownBlock:^{
//        if ([weakSelf.tableView.mj_header isRefreshing]) {
//            [weakSelf.tableView.mj_header endRefreshing];
//        }
//    } upDropBlock:^{
//        if ([weakSelf.tableView.mj_footer isRefreshing]) {
//            [weakSelf.tableView.mj_footer endRefreshing];
//        }
//    }];
//[_ymRefresh normalModelRefresh:self.tableView refreshType:RefreshTypeDropDown firstRefresh:NO timeLabHidden:NO stateLabHidden:YES dropDownBlock:^{
//    NSLog(@"只支持下拉刷新");
//    if ([self.tableView.mj_header isRefreshing]) {
//        [self.tableView.mj_header endRefreshing];
//    }
//} upDropBlock:nil];
//
////eg:2
//[_ymRefresh normalModelRefresh:_tableView refreshType:RefreshTypeUpDrop firstRefresh:NO timeLabHidden:NO stateLabHidden:NO dropDownBlock:nil upDropBlock:^{
//    NSLog(@"只支持上拉");
//    if ([weakSelf.tableView.mj_footer isRefreshing]) {
//        [weakSelf.tableView.mj_footer endRefreshing];
//    }
//}];
@end
